import java.io.*;
import java.net.*;
import java.util.Scanner;


/**
 * Client version 3  : 
 * Etablit la connexion TCP/IP avec le serveur : 
 * Envoie une requete de type GET et attend la reponse du serveur
 * une fois la reponse recue, il affiche le contenu de la reponse
 * @author Erik & Lucas
 */

public class Client3 {
	private static final int port = 2009;
	private static final String serveurAdr = "localhost";
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		Socket socket = new Socket(serveurAdr, port);
		System.out.println("** Connexion a " + serveurAdr + ":" + port + " effectuee avec succes **");

		// buffer de lecture
		BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		// buffer d'ecrirure
		PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
		String str = "";

		// lecture
		str = in.readLine();
		System.out.println(str);

		// initialisation scanner
		sc = new Scanner(System.in);

		boolean continuer = true;
		while (continuer == true) {
			System.out.print("> ");
			sc = new Scanner(System.in);
			str = sc.nextLine();
			if (str.equalsIgnoreCase("FIN")) {
				continuer = false;
			}
			// reception du message de retour du serveur
			out.println(str);
			boolean continuer2 = true;
			while (continuer == true && continuer2 == true && (str = in.readLine()) != null) {
				if (str.contains("<CR> <LF>")) {
					continuer2 = false;
				}
				System.out.println(str);
			}
		}

		// Fermeture de toutes les connexions
		System.out.println("** Fin de la connexion **");
		in.close();
		out.close();
		socket.close();
	}
}
